package org.patterns.creational.abstractfactory;


/**
 * SpringSkinFactory类实现了SkinFactory接口，用于创建具有Spring风格的UI组件
 * 该工厂方法模式的实现使得能够根据需要动态创建不同的UI组件，而不需要在使用时硬编码指定具体的类
 */
public class SpringSkinFactory implements SkinFactory {
    /**
     * 创建并返回一个Spring风格的按钮对象
     *
     * @return SpringButton实例，它是一个具体的按钮实现类
     */
    public Button createButton() {
        return new SpringButton();
    }

    /**
     * 创建并返回一个Spring风格的文本框对象
     *
     * @return SpringTextField实例，它是一个具体的文本框实现类
     */
    public TextField createTextField() {
        return new SpringTextField();
    }

    /**
     * 创建并返回一个Spring风格的组合框对象
     *
     * @return SpringComboBox实例，它是一个具体的组合框实现类
     */
    public ComboBox createComboBox() {
        return new SpringComboBox();
    }
}
